home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / bits / utmpx.h < prev    next >
C/C++ Source or Header  |  2009-10-07  |  4KB  |  104 lines

  1. /* Structures and definitions for the user accounting database.  GNU version.
  2.    Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
  3.    This file is part of the GNU C Library.
  4.  
  5.    The GNU C Library is free software; you can redistribute it and/or
  6.    modify it under the terms of the GNU Lesser General Public
  7.    License as published by the Free Software Foundation; either
  8.    version 2.1 of the License, or (at your option) any later version.
  9.  
  10.    The GNU C Library is distributed in the hope that it will be useful,
  11.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.    Lesser General Public License for more details.
  14.  
  15.    You should have received a copy of the GNU Lesser General Public
  16.    License along with the GNU C Library; if not, write to the Free
  17.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  18.    02111-1307 USA.  */
  19.  
  20. #ifndef _UTMPX_H
  21. # error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
  22. #endif
  23.  
  24. #include <bits/types.h>
  25. #include <sys/time.h>
  26. #include <bits/wordsize.h>
  27.  
  28.  
  29. #ifdef __USE_GNU
  30. # include <paths.h>
  31. # define _PATH_UTMPX    _PATH_UTMP
  32. # define _PATH_WTMPX    _PATH_WTMP
  33. #endif
  34.  
  35.  
  36. #define __UT_LINESIZE    32
  37. #define __UT_NAMESIZE    32
  38. #define __UT_HOSTSIZE    256
  39.  
  40.  
  41. /* The structure describing the status of a terminated process.  This
  42.    type is used in `struct utmpx' below.  */
  43. struct __exit_status
  44.   {
  45. #ifdef __USE_GNU
  46.     short int e_termination;    /* Process termination status.  */
  47.     short int e_exit;        /* Process exit status.  */
  48. #else
  49.     short int __e_termination;    /* Process termination status.  */
  50.     short int __e_exit;        /* Process exit status.  */
  51. #endif
  52.   };
  53.  
  54.  
  55. /* The structure describing an entry in the user accounting database.  */
  56. struct utmpx
  57. {
  58.   short int ut_type;        /* Type of login.  */
  59.   __pid_t ut_pid;        /* Process ID of login process.  */
  60.   char ut_line[__UT_LINESIZE];    /* Devicename.  */
  61.   char ut_id[4];        /* Inittab ID. */
  62.   char ut_user[__UT_NAMESIZE];    /* Username.  */
  63.   char ut_host[__UT_HOSTSIZE];    /* Hostname for remote login.  */
  64.   struct __exit_status ut_exit;    /* Exit status of a process marked
  65.                    as DEAD_PROCESS.  */
  66.  
  67. /* The fields ut_session and ut_tv must be the same size when compiled
  68.    32- and 64-bit.  This allows files and shared memory to be shared
  69.    between 32- and 64-bit applications.  */
  70. #if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
  71.   __int32_t ut_session;        /* Session ID, used for windowing.  */
  72.   struct
  73.   {
  74.     __int32_t tv_sec;        /* Seconds.  */
  75.     __int32_t tv_usec;        /* Microseconds.  */
  76.   } ut_tv;            /* Time entry was made.  */
  77. #else
  78.   long int ut_session;        /* Session ID, used for windowing.  */
  79.   struct timeval ut_tv;        /* Time entry was made.  */
  80. #endif
  81.   __int32_t ut_addr_v6[4];    /* Internet address of remote host.  */
  82.   char __unused[20];        /* Reserved for future use.  */
  83. };
  84.  
  85.  
  86. /* Values for the `ut_type' field of a `struct utmpx'.  */
  87. #define EMPTY        0    /* No valid user accounting information.  */
  88.  
  89. #ifdef __USE_GNU
  90. # define RUN_LVL    1    /* The system's runlevel.  */
  91. #endif
  92. #define BOOT_TIME    2    /* Time of system boot.  */
  93. #define NEW_TIME    3    /* Time after system clock changed.  */
  94. #define OLD_TIME    4    /* Time when system clock changed.  */
  95.  
  96. #define INIT_PROCESS    5    /* Process spawned by the init process.  */
  97. #define LOGIN_PROCESS    6    /* Session leader of a logged in user.  */
  98. #define USER_PROCESS    7    /* Normal process.  */
  99. #define DEAD_PROCESS    8    /* Terminated process.  */
  100.  
  101. #ifdef __USE_GNU
  102. # define ACCOUNTING    9    /* System accounting.  */
  103. #endif
  104.